import os
import sys
from app import create_app

# 从环境变量获取配置，默认为开发模式
config_name = os.environ.get('FLASK_ENV') or 'development'
app = create_app(config_name)

if __name__ == '__main__':
    if config_name == 'production':
        # 生产环境
        port = int(os.environ.get('PORT', 5000))
        host = os.environ.get('HOST', '0.0.0.0')
        
        # 在 Windows 上使用 waitress，在 Unix 系统上建议使用 gunicorn
        if sys.platform == "win32":
            try:
                from waitress import serve
                print(f"使用 Waitress 在 {host}:{port} 启动生产服务器...")
                serve(app, host=host, port=port)
            except ImportError:
                print("Waitress 未安装，回退到 Flask 开发服务器")
                app.run(host=host, port=port, debug=False)
        else:
            # Unix/Linux 系统建议使用 gunicorn
            print("在 Unix/Linux 系统上，建议使用 gunicorn:")
            print(f"gunicorn --bind {host}:{port} --workers 4 wsgi:app")
            app.run(host=host, port=port, debug=False)
    else:
        # 开发环境
        app.run(debug=True)